#CLEANING + ORGANIZING DATA ###Pulling data Duplicate responses were removed in qualtrics as they were all blank forms, likely resulting from students

myData<- read.csv("~/Documents/R Folder/QAC307+Project_December+17,+2025_10.07.csv", na.strings = c("", "NA"))

###Cleaning data I filtered the data to remove data with no responses. Since the question order was randomized, I did this by verifiying that there was no response in the first section, as observations with no responses in the first section were blank in all other sections as well.

myData <- myData[c(-1,-2), ]

myData %>% 
  select(-Emails, -Introduction_DO, -Attention.Check_DO, -Status, -Duration..in.seconds., -ResponseId, -DistributionChannel, -RecordedDate, -UserLanguage, -Q_DuplicateRespondent) ->myData

myData %>% 
  filter(if_any(c(Intentions_1, Intentions_2, Intentions_3, Intentions_4, Intentions_5, Intentions_6, Intentions_7),
                ~ !is.na(.)))->myData

###Renaming Variables A separate group data project I was working on concurrently uses a package regularly creates issues with dplyr by overwriting which is why it’s specifically called each time.

myData %>% 
  dplyr::rename(Petition_Month=Intentions_1,
       Petition_Easy=Intentions_2, 
       Petition_Hard=Intentions_3, 
       Donate_7days=Intentions_4, 
       Donate_Easy=Intentions_5, 
       Donate_Hard=Intentions_6, 
       Help_Others=Intentions_7) -> myData

myData %>% 
  dplyr::rename(OneSign_Helps=Beliefs_1,
                Signing_Easy=Beliefs_2, 
                Signing_Important=Beliefs_3, 
                OneDonate_Helps=Beliefs_4, 
                Donating_Easy=Beliefs_5, 
                Donating_Important=Beliefs_6, 
                Change_Large=Beliefs_7, 
                Change_Small=Beliefs_8) -> myData

myData$Q21[myData$Q21_6_TEXT=="2027 on medical leave"]<-"2027"
myData$Q21[myData$Q21 %in% c("Grad", "Other")] <- "Grad/Other"

myData %>% 
  dplyr::rename(Gender=Q22, 
                Year=Q21) -> myData

myData$Q19_1 <- factor(myData$Q19_1, levels = c("2", "3", "4", "5"), ordered=TRUE)

##Cleaning Variables

#Intentions
myData$Petition_Month <- as.numeric(myData$Petition_Month)
myData$Petition_Easy  <- as.numeric(myData$Petition_Easy)
myData$Petition_Hard  <- as.numeric(myData$Petition_Hard)
myData$Donate_7days   <- as.numeric(myData$Donate_7days)
myData$Donate_Easy    <- as.numeric(myData$Donate_Easy)
myData$Donate_Hard    <- as.numeric(myData$Donate_Hard)
myData$Help_Others    <- as.numeric(myData$Help_Others)

#Beliefs
myData$OneSign_Helps       <- as.numeric(myData$OneSign_Helps)
myData$Signing_Easy        <- as.numeric(myData$Signing_Easy)
myData$Signing_Important   <- as.numeric(myData$Signing_Important)
myData$OneDonate_Helps     <- as.numeric(myData$OneDonate_Helps)
myData$Donating_Easy       <- as.numeric(myData$Donating_Easy)
myData$Donating_Important  <- as.numeric(myData$Donating_Important)
myData$Change_Large        <- as.numeric(myData$Change_Large)
myData$Change_Small        <- as.numeric(myData$Change_Small)

###Building Composites

#Petition Composite Intentions
myData <- myData %>%
  mutate(
    Petition_Composite = case_when(
      !is.na(Petition_Month) & !is.na(Petition_Easy) & !is.na(Petition_Hard) ~ 
        (Petition_Month + Petition_Easy + Petition_Hard) / 3,
      !is.na(Petition_Month) & !is.na(Petition_Easy) ~ 
        (Petition_Month + Petition_Easy) / 2,
      !is.na(Petition_Month) & !is.na(Petition_Hard) ~ 
        (Petition_Month + Petition_Hard) / 2,
      !is.na(Petition_Easy) & !is.na(Petition_Hard) ~ 
        (Petition_Easy + Petition_Hard) / 2))

#Donation Composite Intentions
myData <- myData %>%
  mutate(
    Donation_Composite = case_when(
      !is.na(Donate_7days) & !is.na(Donate_Easy) & !is.na(Donate_Hard) ~ 
        (Donate_7days + Donate_Easy + Donate_Hard) / 3,
      !is.na(Donate_7days) & !is.na(Donate_Easy) ~ 
        (Donate_7days + Donate_Easy) / 2,
      !is.na(Donate_7days) & !is.na(Donate_Hard) ~ 
        (Donate_7days + Donate_Hard) / 2,
      !is.na(Donate_Easy) & !is.na(Donate_Hard) ~ 
        (Donate_Easy + Donate_Hard) / 2))

#Petition Belief Composite
myData <- myData %>%
  mutate(
    Petition_Belief_Composite = case_when(
      !is.na(OneSign_Helps) & !is.na(Signing_Easy) & !is.na(Signing_Important) ~
        (OneSign_Helps + Signing_Easy + Signing_Important) / 3,
      !is.na(OneSign_Helps) & !is.na(Signing_Easy) ~
        (OneSign_Helps + Signing_Easy) / 2,
      !is.na(OneSign_Helps) & !is.na(Signing_Important) ~
        (OneSign_Helps + Signing_Important) / 2,
      !is.na(Signing_Easy) & !is.na(Signing_Important) ~
        (Signing_Easy + Signing_Important) / 2))

#Donation Belief Composite
myData <- myData %>%
  mutate(
    Donation_Belief_Composite = case_when(
      !is.na(OneDonate_Helps) & !is.na(Donating_Easy) & !is.na(Donating_Important) ~
        (OneDonate_Helps + Donating_Easy + Donating_Important) / 3,
      !is.na(OneDonate_Helps) & !is.na(Donating_Easy) ~
        (OneDonate_Helps + Donating_Easy) / 2,
      !is.na(OneDonate_Helps) & !is.na(Donating_Important) ~
        (OneDonate_Helps + Donating_Important) / 2,
      !is.na(Donating_Easy) & !is.na(Donating_Important) ~
        (Donating_Easy + Donating_Important) / 2))

###Manipulating Vignettes_DO

#shortening Vignettes_DO
myData$Vignettes[myData$Vignettes_DO=="Instructions|Petitions - Sustain"]<-"Petition - Sustain"
myData$Vignettes[myData$Vignettes_DO=="Instructions|Petitions - Change"]<-"Petition - Change"
myData$Vignettes[myData$Vignettes_DO=="Instructions|Donations - Sustain"]<-"Donation - Sustain"
myData$Vignettes[myData$Vignettes_DO=="Instructions|Donations - Change"]<-"Donation - Change"

#factoring + releveling for analysis
myData$Vignettes<-factor(myData$Vignettes, 
                         levels=c("Petition - Change", "Donation - Change", 
                                  "Petition - Sustain", "Donation - Sustain"),
                         ordered=F)

#collapsing by talk type
myData$Type[myData$Vignettes %in% c("Petition - Change", "Donation - Change")] <- "Change"
myData$Type[myData$Vignettes %in% c("Petition - Sustain", "Donation - Sustain")] <- "Sustain"

#collapsing by action mode
myData$Mode[myData$Vignettes %in% c("Petition - Change", "Petition - Sustain")] <- "Petition"
myData$Mode[myData$Vignettes %in% c("Donation - Change", "Donation - Sustain")] <- "Donation"

###Creating Subsets

myData %>% 
  filter(Vignettes_DO %in% c("Instructions|Petitions - Sustain", "Instructions|Petitions - Change"))->myData_Petition

myData %>% 
  filter(Vignettes_DO %in% c("Instructions|Donations - Sustain", "Instructions|Donations - Change"))->myData_Donation

#FREQ TABLES

freq(myData$Vignettes)

## myData$Vignettes 
##                    Frequency Percent
## Petition - Change         26   21.67
## Donation - Change         32   26.67
## Petition - Sustain        35   29.17
## Donation - Sustain        27   22.50
## Total                    120  100.00
freq(myData$Type)

## myData$Type 
##         Frequency Percent
## Change         58   48.33
## Sustain        62   51.67
## Total         120  100.00
freq(myData$Mode)

## myData$Mode 
##          Frequency Percent
## Donation        59   49.17
## Petition        61   50.83
## Total          120  100.00
freq(myData$Petition_Month)

## myData$Petition_Month 
##       Frequency Percent Valid Percent
## 1             8   6.667         7.339
## 2            34  28.333        31.193
## 3            20  16.667        18.349
## 4            25  20.833        22.936
## 5            22  18.333        20.183
## NA's         11   9.167              
## Total       120 100.000       100.000
freq(myData$Petition_Easy)

## myData$Petition_Easy 
##       Frequency Percent Valid Percent
## 1             6   5.000         5.505
## 2            23  19.167        21.101
## 3            20  16.667        18.349
## 4            27  22.500        24.771
## 5            33  27.500        30.275
## NA's         11   9.167              
## Total       120 100.000       100.000
freq(myData$Petition_Hard)

## myData$Petition_Hard 
##       Frequency Percent Valid Percent
## 1             2   1.667         2.353
## 2            25  20.833        29.412
## 3            26  21.667        30.588
## 4            20  16.667        23.529
## 5            12  10.000        14.118
## NA's         35  29.167              
## Total       120 100.000       100.000
freq(myData$Donate_7days)

## myData$Donate_7days 
##       Frequency Percent Valid Percent
## 1             6    5.00         6.897
## 2            40   33.33        45.977
## 3            26   21.67        29.885
## 4             9    7.50        10.345
## 5             6    5.00         6.897
## NA's         33   27.50              
## Total       120  100.00       100.000
freq(myData$Donate_Easy)

## myData$Donate_Easy 
##       Frequency Percent Valid Percent
## 1             7   5.833         7.955
## 2            32  26.667        36.364
## 3            28  23.333        31.818
## 4            14  11.667        15.909
## 5             7   5.833         7.955
## NA's         32  26.667              
## Total       120 100.000       100.000
freq(myData$Donate_Hard)

## myData$Donate_Hard 
##       Frequency Percent Valid Percent
## 1            17  14.167        25.758
## 2            24  20.000        36.364
## 3            17  14.167        25.758
## 4             6   5.000         9.091
## 5             2   1.667         3.030
## NA's         54  45.000              
## Total       120 100.000       100.000
freq(myData$Help_Others)

## myData$Help_Others 
##       Frequency Percent Valid Percent
## 1             3   2.500         2.542
## 2             9   7.500         7.627
## 3            21  17.500        17.797
## 4            45  37.500        38.136
## 5            40  33.333        33.898
## NA's          2   1.667              
## Total       120 100.000       100.000
freq(myData$OneSign_Helps)

## myData$OneSign_Helps 
##       Frequency Percent Valid Percent
## 2            20   16.67         18.02
## 3            43   35.83         38.74
## 4            35   29.17         31.53
## 5            13   10.83         11.71
## NA's          9    7.50              
## Total       120  100.00        100.00
freq(myData$Signing_Easy)

## myData$Signing_Easy 
##       Frequency Percent Valid Percent
## 2             8   6.667         6.838
## 3            20  16.667        17.094
## 4            39  32.500        33.333
## 5            50  41.667        42.735
## NA's          3   2.500              
## Total       120 100.000       100.000
freq(myData$Signing_Important)

## myData$Signing_Important 
##       Frequency Percent Valid Percent
## 2            14  11.667         12.17
## 3            32  26.667         27.83
## 4            51  42.500         44.35
## 5            18  15.000         15.65
## NA's          5   4.167              
## Total       120 100.000        100.00
freq(myData$OneDonate_Helps)

## myData$OneDonate_Helps 
##       Frequency Percent Valid Percent
## 1             3   2.500         2.655
## 2            23  19.167        20.354
## 3            44  36.667        38.938
## 4            23  19.167        20.354
## 5            20  16.667        17.699
## NA's          7   5.833              
## Total       120 100.000       100.000
freq(myData$Donating_Easy)

## myData$Donating_Easy 
##       Frequency  Percent Valid Percent
## 1             1   0.8333        0.9091
## 2            29  24.1667       26.3636
## 3            34  28.3333       30.9091
## 4            31  25.8333       28.1818
## 5            15  12.5000       13.6364
## NA's         10   8.3333              
## Total       120 100.0000      100.0000
freq(myData$Donating_Important)

## myData$Donating_Important 
##       Frequency Percent Valid Percent
## 2            13  10.833         11.21
## 3            37  30.833         31.90
## 4            38  31.667         32.76
## 5            28  23.333         24.14
## NA's          4   3.333              
## Total       120 100.000        100.00
freq(myData$Change_Large)

## myData$Change_Large 
##       Frequency Percent Valid Percent
## 1            11   9.167        10.476
## 2            48  40.000        45.714
## 3            28  23.333        26.667
## 4            10   8.333         9.524
## 5             8   6.667         7.619
## NA's         15  12.500              
## Total       120 100.000       100.000
freq(myData$Change_Small)

## myData$Change_Small 
##       Frequency  Percent
## 1             1   0.8333
## 2             5   4.1667
## 3            17  14.1667
## 4            39  32.5000
## 5            58  48.3333
## Total       120 100.0000
freq(myData$Petition_Composite)

## myData$Petition_Composite 
##                  Frequency  Percent Valid Percent
## 1                        3   2.5000        2.8302
## 1.5                      3   2.5000        2.8302
## 1.66666666666667         2   1.6667        1.8868
## 2                       15  12.5000       14.1509
## 2.33333333333333         5   4.1667        4.7170
## 2.5                      1   0.8333        0.9434
## 2.66666666666667        10   8.3333        9.4340
## 3                        8   6.6667        7.5472
## 3.33333333333333         9   7.5000        8.4906
## 3.5                      4   3.3333        3.7736
## 3.66666666666667        12  10.0000       11.3208
## 4                        9   7.5000        8.4906
## 4.33333333333333         6   5.0000        5.6604
## 4.66666666666667         8   6.6667        7.5472
## 5                       11   9.1667       10.3774
## NA's                    14  11.6667              
## Total                  120 100.0000      100.0000
freq(myData$Donation_Composite)

## myData$Donation_Composite 
##                  Frequency  Percent Valid Percent
## 1                        3   2.5000         3.571
## 1.33333333333333         2   1.6667         2.381
## 1.5                      3   2.5000         3.571
## 1.66666666666667         5   4.1667         5.952
## 2                       18  15.0000        21.429
## 2.33333333333333         8   6.6667         9.524
## 2.5                      3   2.5000         3.571
## 2.66666666666667        14  11.6667        16.667
## 3                       13  10.8333        15.476
## 3.33333333333333         1   0.8333         1.190
## 3.66666666666667         3   2.5000         3.571
## 4                        5   4.1667         5.952
## 4.33333333333333         4   3.3333         4.762
## 5                        2   1.6667         2.381
## NA's                    36  30.0000              
## Total                  120 100.0000       100.000
freq(myData$Petition_Belief_Composite)

## myData$Petition_Belief_Composite 
##                  Frequency Percent Valid Percent
## 2                        2   1.667         1.754
## 2.33333333333333         2   1.667         1.754
## 2.66666666666667         5   4.167         4.386
## 3                       16  13.333        14.035
## 3.33333333333333        14  11.667        12.281
## 3.66666666666667        26  21.667        22.807
## 4                       19  15.833        16.667
## 4.33333333333333        16  13.333        14.035
## 4.66666666666667         8   6.667         7.018
## 5                        6   5.000         5.263
## NA's                     6   5.000              
## Total                  120 100.000       100.000
freq(myData$Donation_Belief_Composite)

## myData$Donation_Belief_Composite 
##                  Frequency  Percent Valid Percent
## 1.66666666666667         1   0.8333        0.8772
## 2                        3   2.5000        2.6316
## 2.33333333333333         4   3.3333        3.5088
## 2.5                      1   0.8333        0.8772
## 2.66666666666667        22  18.3333       19.2982
## 3                       13  10.8333       11.4035
## 3.33333333333333        18  15.0000       15.7895
## 3.66666666666667        20  16.6667       17.5439
## 4                       11   9.1667        9.6491
## 4.33333333333333        11   9.1667        9.6491
## 4.66666666666667         2   1.6667        1.7544
## 5                        8   6.6667        7.0175
## NA's                     6   5.0000              
## Total                  120 100.0000      100.0000
#covariate for ANCOVAs
freq(myData$Q19_1)  

## myData$Q19_1 
##       Frequency Percent Valid Percent Cum Percent
## 2            30  25.000         27.27       27.27
## 3            40  33.333         36.36       63.64
## 4            25  20.833         22.73       86.36
## 5            15  12.500         13.64      100.00
## NA's         10   8.333                          
## Total       120 100.000        100.00
#demographics
freq(myData$Year)    

## myData$Year 
##            Frequency Percent Valid Percent
## 2026              24  20.000        20.690
## 2027              36  30.000        31.034
## 2028              23  19.167        19.828
## 2029              27  22.500        23.276
## Grad/Other         6   5.000         5.172
## NA's               4   3.333              
## Total            120 100.000       100.000
freq(myData$Gender) 

## myData$Gender 
##                                                         Frequency Percent
## Man                                                            35  29.167
## Non-binary / Genderqueer/ Gender Non-conforming / Other        17  14.167
## Prefer not to say                                               5   4.167
## Woman                                                          58  48.333
## NA's                                                            5   4.167
## Total                                                         120 100.000
##                                                         Valid Percent
## Man                                                            30.435
## Non-binary / Genderqueer/ Gender Non-conforming / Other        14.783
## Prefer not to say                                               4.348
## Woman                                                          50.435
## NA's                                                                 
## Total                                                         100.000
# used in paper
freq(myData$Attention.Check) 

## myData$Attention.Check 
##           Frequency Percent Valid Percent
## Data              4   3.333          3.67
## Donations        42  35.000         38.53
## Petitions        63  52.500         57.80
## NA's             11   9.167              
## Total           120 100.000        100.00

#GRAPHS

ggplot(myData)+
  geom_boxplot(aes(x = Type, y = Petition_Composite, fill = Type), alpha = 0.5) +
  facet_grid(.~ Mode) +
  scale_fill_manual(values = c("Sustain" = "gold3","Change"  = "darkslategray3"))+
  xlab("Vignette Type") +
  ylab("Petition Intention Composite Score")+
  ggtitle("Petition Intention according to Vignette Type and Mode")
## Warning: Removed 14 rows containing non-finite outside the scale range
## (`stat_boxplot()`).

ggplot(myData)+
  geom_boxplot(aes(x = Type, y = Donation_Composite, fill = Type), alpha = 0.5) +
  facet_grid(.~ Mode) +
  scale_fill_manual(values = c("Sustain" = "gold3","Change"  = "darkslategray3"))+
  xlab("Vignette Type") +
  ylab("Donation Intention Composite Score")+
  ggtitle("Donation Intention according to Vignette Type and Mode")
## Warning: Removed 36 rows containing non-finite outside the scale range
## (`stat_boxplot()`).

ggplot(myData)+
  geom_boxplot(aes(x = Type, y = Petition_Belief_Composite, fill = Type), alpha = 0.5) +
  facet_grid(.~ Mode) +
  scale_fill_manual(values = c("Sustain" = "gold3","Change"  = "darkslategray3"))+
  xlab("Vignette Type") +
  ylab("Petition Belief Composite Score")+
  ggtitle("Petition Belief according to Vignette Type and Mode")
## Warning: Removed 6 rows containing non-finite outside the scale range
## (`stat_boxplot()`).

ggplot(myData)+
  geom_boxplot(aes(x = Type, y = Donation_Belief_Composite, fill = Type), alpha = 0.5) +
  facet_grid(.~ Mode) +
  scale_fill_manual(values = c("Sustain" = "gold3","Change"  = "darkslategray3"))+
  xlab("Vignette Type") +
  ylab("Donation Belief Composite Score")+
  ggtitle("Donation Belief according to Vignette Type and Mode")
## Warning: Removed 6 rows containing non-finite outside the scale range
## (`stat_boxplot()`).

#ANALYSIS ### Base Analysis of Composites and Vignettes

tapply(myData$Petition_Composite, myData$Vignettes, mean, na.rm = TRUE)
##  Petition - Change  Donation - Change Petition - Sustain Donation - Sustain 
##           3.293651           3.458333           3.131313           3.277778
model1 <- aov(Petition_Composite~Vignettes, data=myData)
summary(model1)
##              Df Sum Sq Mean Sq F value Pr(>F)
## Vignettes     3   1.62   0.541   0.445  0.721
## Residuals   102 124.00   1.216               
## 14 observations deleted due to missingness
plot(model1)

tapply(myData$Donation_Composite, myData$Vignettes, mean, na.rm = TRUE)
##  Petition - Change  Donation - Change Petition - Sustain Donation - Sustain 
##           2.803922           2.695652           2.347222           2.633333
model2 <- aov(Donation_Composite~Vignettes, data=myData)
summary(model2)
##             Df Sum Sq Mean Sq F value Pr(>F)
## Vignettes    3   2.47  0.8241   1.048  0.376
## Residuals   80  62.91  0.7864               
## 36 observations deleted due to missingness
plot(model2)

#ANCOVA

model3 <- aov(Petition_Composite~Vignettes+Q19_1, data=myData)
summary(model3)
##             Df Sum Sq Mean Sq F value  Pr(>F)   
## Vignettes    3   1.72   0.573   0.559 0.64321   
## Q19_1        3  15.37   5.124   5.002 0.00295 **
## Residuals   91  93.21   1.024                   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 22 observations deleted due to missingness
plot(model3)

model4 <- aov(Donation_Composite~Vignettes+Q19_1, data=myData)
summary(model4)
##             Df Sum Sq Mean Sq F value Pr(>F)
## Vignettes    3   2.96  0.9865   1.185  0.322
## Q19_1        3   2.07  0.6915   0.830  0.482
## Residuals   71  59.13  0.8328               
## 42 observations deleted due to missingness
plot(model4)

#Analysis of Beliefs

tapply(myData$Petition_Belief_Composite, myData$Vignettes, mean, na.rm = TRUE)
##  Petition - Change  Donation - Change Petition - Sustain Donation - Sustain 
##           3.813333           3.620690           3.637255           3.871795
model5 <- aov(Petition_Belief_Composite~Vignettes+Q19_1, data=myData)
summary(model5)
##             Df Sum Sq Mean Sq F value Pr(>F)
## Vignettes    3   0.98  0.3280   0.698  0.556
## Q19_1        3   0.93  0.3090   0.657  0.580
## Residuals   98  46.08  0.4703               
## 15 observations deleted due to missingness
plot(model5)

tapply(myData$Donation_Belief_Composite, myData$Vignettes, mean, na.rm = TRUE)
##  Petition - Change  Donation - Change Petition - Sustain Donation - Sustain 
##           3.546667           3.189655           3.529412           3.474359
model6 <- aov(Donation_Belief_Composite~Vignettes+Q19_1, data=myData)
summary(model6)
##             Df Sum Sq Mean Sq F value Pr(>F)
## Vignettes    3   1.93  0.6449   1.086  0.359
## Q19_1        3   2.15  0.7180   1.209  0.311
## Residuals   98  58.20  0.5938               
## 15 observations deleted due to missingness
plot(model6)

###Analysis of Petition and Donation by Type

model7 <- aov(Petition_Composite~Type+Q19_1, data=myData)
summary(model7)
##             Df Sum Sq Mean Sq F value  Pr(>F)   
## Type         1   1.50   1.504   1.484 0.22617   
## Q19_1        3  14.59   4.863   4.801 0.00374 **
## Residuals   93  94.21   1.013                   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 22 observations deleted due to missingness
plot(model7)

model8 <- aov(Donation_Composite~Type, data=myData)
summary(model8)
##             Df Sum Sq Mean Sq F value Pr(>F)
## Type         1   1.46  1.4647   1.879  0.174
## Residuals   82  63.92  0.7795               
## 36 observations deleted due to missingness
plot(model8)

###Order Effects

used_rows <- as.numeric(rownames(model1$model))
graphdata<- data.frame(EndDate = myData$EndDate[used_rows], 
                       Residuals = model1$residuals)
graphdata$EndDate<-as.Date(graphdata$EndDate)

ggplot(data=graphdata)+
  geom_point(aes(x=EndDate, y=Residuals))+
  ylab("Residuals")+
  xlab("End Date")+
  ggtitle("Examining Order Effects")

Exploratory

model9 <- aov(Petition_Composite~Vignettes+Q19_1+Gender+Year, data=myData_Donation)
summary(model9)
##             Df Sum Sq Mean Sq F value   Pr(>F)    
## Vignettes    1  0.338   0.338   0.421 0.520468    
## Q19_1        3 16.246   5.415   6.744 0.000928 ***
## Gender       3  4.483   1.494   1.861 0.152643    
## Year         4  4.848   1.212   1.509 0.218820    
## Residuals   38 30.512   0.803                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 9 observations deleted due to missingness
plot(model9)

model10 <- aov(Donation_Composite~Vignettes+Q19_1+Gender+Year, data=myData_Petition)
summary(model10)
##             Df Sum Sq Mean Sq F value Pr(>F)  
## Vignettes    1  2.701  2.7006   3.639 0.0685 .
## Q19_1        3  6.730  2.2432   3.023 0.0493 *
## Gender       3  4.021  1.3403   1.806 0.1730  
## Year         4  1.865  0.4663   0.628 0.6469  
## Residuals   24 17.810  0.7421                 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 25 observations deleted due to missingness
plot(model10)
## Warning: not plotting observations with leverage one:
##   27